hvmloader: enable PCI_COMMAND_IO on primary VGA device
authorIan Campbell <ian.campbell@citrix.com>
Wed, 1 Jun 2011 15:40:54 +0000 (16:40 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 1 Jun 2011 15:40:54 +0000 (16:40 +0100)
commit50504b4272ff9f4ecc3a8fb9d797932484056998
treecafe218a05619653d9a567dfab85f32849e7845f
parent1be247c03cba02af4466607ed698f69cde971157
hvmloader: enable PCI_COMMAND_IO on primary VGA device

There is an implicit assumption in the PCI spec that the primary VGA
device (e.g. something with class==VGA) will have I/O enabled in order
to make the standard VGA I/O registers (e.g. at 0x3xx) available, even
though the device has no explicit I/O BARS.

The qemu device model for the Cirrus VGA card does not actually
enforce this but SeaBIOS looks for a VGA device with I/O enabled
before running the VGA ROM. Coreboot has similar behaviour and I
verified on a physical Cirrus GD 5446 that the BIOS had enable I/O
cycles.

The thread at
http://www.seabios.org/pipermail/seabios/2011-May/001804.html
contains more info.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
tools/firmware/hvmloader/rombios.c